let params = {
  pagenum: 1,
  pagesize: 2,
  // state: ,  //根据文章状态筛选；可填“已发布”或“草稿”
  // cate_id: ,   //根据分类筛选；如3表示只获取分类id为3的文章
}

// 分页获取文章

function renderList() {
  axios.get('/my/article/list', { params: params }).then(function (res) {
    let { status, data, total } = res.data
    if (status === 0) {
      let str = ''
      data.forEach(item => {
        str += `
        <tr>
          <td>${item.title}</td>
          <td>${item.cate_name}</td>
          <td>${item.pub_date}</td>
          <td>${item.state}</td>
          <td>
            <button type="button" class="layui-btn layui-btn-xs">编辑</button>
            <button type="button" class="layui-btn layui-btn-xs layui-btn-danger">删除</button>
          </td>
        </tr>
        `;
      });
      $('tbody').html(str)
      showPage(total)
    }
  })
}
renderList()

// 分页

let laypage = layui.laypage

//执行一个laypage实例
function showPage(t) {
  laypage.render({
    elem: 'page', // 注意，这里的 test1 是 ID，不用加 # 号
    count: t,  // 数据总数，从服务端得到
    limit: params.pagesize, // 每行显示几个
    curr: params.pagenum, // 当前页
    // prev: '上一篇'
    limits: [2, 3, 5, 10],  // 下拉框的数据
    layout: ['limit', 'prev', 'page', 'next', 'count', 'skip'], //自定义排版
    // jump 切换分页的回调
    jump: function (obj, first) {
      //首次不执行
      if (!first) {
        //do something
        //obj包含了当前分页的所有参数，比如：
        console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。current 现在的
        console.log(obj.limit); //得到每页显示的条数
        params.pagenum = obj.curr
        params.pagesize = obj.limit
        renderList();
      }
    }
  });
}

// 筛选下拉菜单渲染
axios.get('/my/category/list').then(function (res) {
  let { status, data } = res.data;
  if (status === 0) {
    let str = ''
    data.forEach(item => {
      str += `<option value="${item.id}">${item.name}</option>`;
    });
    $('#category').append(str)
    let form = layui.form;
    form.render('select')
  }
})


// 完成筛选
$('#search').on('submit', function (e) {
  e.preventDefault();
  // 获取下拉框中的值
  let cate_id = $('#category').val()
  let state = $('#state').val()

  // 设置请求参数
  if (cate_id) {
    params.cate_id = cate_id
  } else {
    delete params.cate_id
  };

  if (state) {
    params.state = state
  } else {
    delete params.state
  }
  // bug 处理   筛选时, 重置 pagenum=1
  params.pagenum = 1

  renderList();
})
